package com.lyf.design.practice.theory.create.singleton;

/**
 * 饿汉式单例模式（加载类信息时则创建对象了）
 * 多线程安全，不存在多线程问题（简单最实用，一般采用该方式）
 *
 * @author LYF
 * @date 2022/6/19
 */
public class Singleton1 {
    /**
     * 对象存入方法区（静态变量）
     */
    private static Singleton1 singleton1 = new Singleton1();

    /**
     * 私有化构造函数（反射依旧可拿到）
     */
    private Singleton1(){}

    /**
     * 静态方法获取该类的唯一对象
     * @return
     */
    static Singleton1 getInstance(){
        return singleton1;
    }
}
